[REL] MWScriptExtender Demo, Three mods in one to demonstrate MWSE
The Elder Scrolls Homepage | HelpSearchMembersCalendar |
Logged in as: Ronin49 ( Log Out ) | My Controls · View New Posts · 0 New Messages |
[REL] MWScriptExtender Demo, Three mods in one to demonstrate MWSE
cdcooley |
Jan 9 2005, 01:16 AM
Post
#1
|
Adept Joined: 3-May 04 |
Would you like to give gifts to random people you meet? Or are you the mugger type and want to take the shirts off their backs?
Do you have companions that seem to get lost every time you use a Recall spell? Wouldn't it be nice to tell those escort quest folks to follow you and have them actually do it? Are you tired of having only one Mark and Recall pair? Would you like to set up to 8 different Marks anywhere, even in cells added by other mods? To make Raveren happy and show the doubters that it isn't impossible or even that hard to create mods using the newer versions of FreshFish's MWScriptExtender I've created a demonstration of some (but not nearly all) of it's features. This is a playable mod, but it's really intended to inspire others to make their own. Each of the three components of this demo really deserves it's own well planned plugin. There are also many other functions of the Script Extender just waiting to be explored. You'll need the MWSEdemo.zip (13kb) and at least a runtime version of the script extender which you can find on Shanjaq's Morrowind Online page (labeled Download 2). The full developer version of the MWScriptExtender including the script compiler is also on that Shanjaq's page labelled Optional. If you get the runtime version, you will also need to create a folder called "MWSE" in your Data Files folder to get the Follower and Recall features to work correctly. You'll need Bloodmoon since the recent version of MWScriptExtender was built for version 1.6.1820 (although FreshFish has a standing offer to create one that works with 1.4.1313 too). Apparently, it only works with the American version too. I haven't tested, but I suspect there will be conflicts with the Multimark mod since both are monitoring and modifying the same spell effects. Despite the rumors it does work with both the FPS Optimizer and Morrowind Enhanced. I've used it with both Journal Enchanced and Writing Enhanced using Morrowind Enhanced version 1.21. (Start MSE first, then FPS, then MWSE if you use all three.) This is definately not a "balanced" mod. You get all of the dialog topics and spells automatically which includes free Mark/Recall spells, the ability to steal everything any NPC owns (how about Helseth?), and have arbitrary NPCs follow you around as pseudocompanions (they will fight if you are attacked). Feel free to create more balanced versions of these or suggest what balancing would be appropriate and maybe I or someone else will do it. (But Raveren, if you want someone else to do the work, be a little more polite and less demanding please. :) ) Report any problems here please. [Edited to point the mod link to a different, hopefully more reliable host.] It appears that the Verizon server is NOT a more reliable link. Here's the other location again MWSEdemo.zip (13kb) This post has been edited by cdcooley: Jan 22 2005, 02:18 PM |
bl4k3 |
Jan 9 2005, 01:31 AM
Post
#2
|
Curate Joined: 19-June 04 |
what do you mean by give gifts? -------------------- |
cdcooley |
Jan 9 2005, 01:39 AM
Post
#3
|
Adept Joined: 3-May 04 |
QUOTE(bl4k3 @ Jan 9 2005, 12:41 AM) Give them any item you are carrying. You can give them a sword, a shirt, a cup, or even gold. I thought about it because I always thought it odd that I would rescue slaves and then turn them loose into the wilderness unarmed and unarmored. Not to mention the son of the Ashlander trader in Ald-ruhn. I really felt guilty letting him run around with nothing but a pair of pants when I had plenty of cheap armor and weapons that I wasn't even using. So now, I can give the poor unfortunates some of my castoffs. The opposite is also available. You can demand that people hand over one or all of their possessions to you. If they really like you, there won't be much of a consequence for asking for one item (but you get one chosen at random). They get very upset if you take everything they own. You also have the option to "trade" possessions. They'll let you take anything they are carrying if you give them something of equal value in return. This post has been edited by cdcooley: Jan 9 2005, 01:40 AM |
Shanjaq |
Jan 9 2005, 01:42 AM
Post
#4
|
Disciple Joined: 31-July 02 From: Kudanat |
Clever scripts! I'm interested to see how items are selected for placement into an arbitrary NPC's inventory.
Good thing you were able to get MWEdit to cooperate, it's not so stable on most machines =P This post has been edited by Shanjaq: Jan 9 2005, 01:43 AM -------------------- Morrowind Online, Demo and Modders Resource
Overunity, The Plugin Manager that Makes Sense! Life is but a sea of conflicting feedback loops... |
cdcooley |
Jan 9 2005, 01:47 AM
Post
#5
|
Adept Joined: 3-May 04 |
QUOTE(Shanjaq @ Jan 9 2005, 12:52 AM) Really? I know BungaDunga had problems. It occasionally crashes at the strangest times, but if you save frequently it's little more an an annoyance. It doesn't crash on me any more often than the regular CS and game do. |
Shanjaq |
Jan 9 2005, 01:50 AM
Post
#6
|
Disciple Joined: 31-July 02 From: Kudanat |
QUOTE(cdcooley @ Jan 9 2005, 01:57 AM) Really? I know BungaDunga had problems. It occasionally crashes at the strangest times, but if you save frequently it's little more an an annoyance. It doesn't crash on me any more often than the regular CS and game do. yeah, it seems to be a system settings or "DLL Hell" he's going through, because it consistently fails to load an existing plugin. I've never had the problem on any of my machines(tried on at least 3.) -------------------- Morrowind Online, Demo and Modders Resource
Overunity, The Plugin Manager that Makes Sense! Life is but a sea of conflicting feedback loops... |
BungaDunga |
Jan 9 2005, 03:21 AM
Post
#7
|
Diviner Joined: 30-August 04 |
Good job, cdcooley! I've been having lots of trouble getting a multimark mod to work. I subsequently realized that I had, in fact, done it before and now I have my own working multiple marking scripts. It works with sets of linked items- you drop one, and you equip the other to teleport to the dropped one. I'm not sure quite how you implemented yours though.
How did you manage the "giving item" bit? A "gift box" like I think you mentioned somewhere else? I'm going to see if I can find a Windows 98 disc somewhere and install that via VMWare- maybe that will let me run MWEdit in a more normal fashion :shrug: -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Beryllium |
Jan 9 2005, 04:08 AM
Post
#8
|
Curate Joined: 9-April 03 |
Is anybody else having trouble with this?
I CTD at the end of 'loading data' It is the development script extender that I'm running, so I'll download the runtime version. Unchecking all of my plugins makes no difference. I wonder if it is an American/European MW versions thing... but I would have expected an error message if it was the wrong MW executable... am I right? Edit:- I meant 'Initialising Data' before the menu. And using the runtime makes no difference, as does unchecking everything except MW, TB & BM. This post has been edited by Beryllium: Jan 9 2005, 04:16 AM |
Raveren |
Jan 9 2005, 08:52 AM
Post
#9
|
Curate Joined: 21-December 04 From: Far out |
Wow I'm flattered here!
And it WORKS WITH MWE?!?!?!?! YAY!!!!! I just started doing a new project, should be done in a couple of hours, At least if MWEdit stops crashing... -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
ReganInFrance |
Jan 9 2005, 11:16 AM
Post
#10
|
Acolyte Joined: 14-November 04 |
Please tell what I might be doing wrong.
I have put MWScriptExtender.exe in the morrowind directory, the ESP in the data files direstory, and checked it in the launcher (Just that and the 3 base ESMs). I did not run MWE or the FPS optimiser. The add follower topic works fine and they'll follow me 'on foot' but when I recall or COC and cast 'call followers' nothing happens. I've tried it in the same cell as they are, and halfway across Vvardenfell. You mentioned a \MWSE directory in data files, but it isn't there, neither while the game is running nor afterwards. The sharing, giving, stealing options work perfectly, by the way. This is such a leap forward in companion convenience that I must have it. EDIT: I needed the 1.4meg zip file to run the ESP, as it contains the \data files\MWSE directory. Should this have been neccessary? This post has been edited by ReganInFrance: Jan 9 2005, 11:32 AM -------------------- Do you NIF ?
If not, get Milkshape and the NIFLA plugins! http://www.milkshape3d.com http://groups.yahoo.com/group/NIFLA/ |
cdcooley |
Jan 9 2005, 03:16 PM
Post
#11
|
Adept Joined: 3-May 04 |
QUOTE(Beryllium @ Jan 9 2005, 03:18 AM) Unchecking all of my plugins makes no difference. I wonder if it is an American/European MW versions thing... but I would have expected an error message if it was the wrong MW executable... am I right? I suspect it only works with the American version. You'll have to PM FreshFish to be sure. Sorry. QUOTE(ReganInFrance @ Jan 9 2005, 10:26 AM) The sharing, giving, stealing options work perfectly, by the way. This is such a leap forward in companion convenience that I must have it. EDIT: I needed the 1.4meg zip file to run the ESP, as it contains the \data files\MWSE directory. Should this have been neccessary? I'm glad you got things working. I hadn't thought about the fact that the MWSE directory isn't included in the mini download. I will update my instructions. You really just needed an empty folder called MWSE in Data Files. |
ReganInFrance |
Jan 9 2005, 03:41 PM
Post
#12
|
Acolyte Joined: 14-November 04 |
I have what I assume to be a European version, in english, but maybe the GOTY pack is universal?
The collision on 'followers' seems to be switched off, meaning I can walk through them and they can go through each other. It's not a big deal but it can be quite difficult trying to speak to one if he/she is mixed up with the others. Otherwise it's near perfect :) -------------------- Do you NIF ?
If not, get Milkshape and the NIFLA plugins! http://www.milkshape3d.com http://groups.yahoo.com/group/NIFLA/ |
cdcooley |
Jan 9 2005, 03:57 PM
Post
#13
|
Adept Joined: 3-May 04 |
QUOTE(ReganInFrance @ Jan 9 2005, 02:51 PM) I have what I assume to be a European version, in english, but maybe the GOTY pack is universal? The collision on 'followers' seems to be switched off, meaning I can walk through them and they can go through each other. It's not a big deal but it can be quite difficult trying to speak to one if he/she is mixed up with the others. Otherwise it's near perfect :) I confess I have no idea about the versions, but I suspect you are right that there is only one English version. It's supposed to be a demo, not perfect! Seriously, I forgot to Disable/Enable the followers in the sed_follower_call script. I should have diabled and enabled each one of them just after the xPositionCell call. Adding these four lines between the xPositionCell line and the xFileReadString line in the whilex loop should make them solid. CODE xSetRef npcid Disable xSetRef npcid Enable Since you downloaded the developer version of the extender you should be able to open the mod in MWEditSE and make the change yourself. I'll probably release an updated version in a week or so after I've gotten more feedback for the issues like this that I've missed, but the purpose is really to inspire others. |
Raveren |
Jan 9 2005, 05:05 PM
Post
#14
|
Curate Joined: 21-December 04 From: Far out |
Found a small issue, when casting alternate recall withought casting alternate mark first, puts you in random places all over morrowind...
Didn't playtest exessively, but everything else I tried works just fine... Found it quite ..interesting though to steal all equipment from an imperial guard @level1 and get away with no bounty, just a naked bare-fist fighting imperial chasing me. Also, if you WOULD intend to make this mod balanced, the item trading should be based on npc's/players mercantile ratio... Also, "add as follower" shold only work if the npc is already on AI follow command. -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 9 2005, 05:44 PM
Post
#15
|
Adept Joined: 3-May 04 |
QUOTE(Raveren @ Jan 9 2005, 04:15 PM) Found a small issue, when casting alternate recall withought casting alternate mark first, puts you in random places all over morrowind... Random places? The Alternate recall spell should give you a message if you try to go to an unset mark. The Extra recall on the other hand could very well send you to strange places. The sed_alt_recall_script includes an extra xStringCompare and test to verify that the location is valid that the sed_extra_recall_script doesn't have. Is that what you mean or is the Alternate recall really broken? If it's the Extra version you can just replace the xPositionCell line in the sed_extra_recall_script with: CODE short diff ; need a temporary variable here setx diff to xStringCompare cellid "null" ifx ( diff ) player->xPositionCell px, py, pz, pa, cellid else MessageBox "That Mark has not been set." endif But make sure you have morrowind.esm loaded along with the MWSEdemo.esp in MWEditSE or you'll get errors about the "player" being unkown/undefined when you try to recompile the script. QUOTE Didn't playtest exessively, but everything else I tried works just fine... Found it quite ..interesting though to steal all equipment from an imperial guard @level1 and get away with no bounty, just a naked bare-fist fighting imperial chasing me. Also, if you WOULD intend to make this mod balanced, the item trading should be based on npc's/players mercantile ratio... Also, "add as follower" shold only work if the npc is already on AI follow command. Well, I warned you that they weren't balanced. I intentionally left those unbalanced though so that people can reasonably easily try the features. I did add some minimal disposition requirements just to demonstrate that restrictions are possbile. Perhaps a bounty between what you would get for an unprovoked attack and murder would be appropriate? I'm open to ideas on how to work mercantile skills into the trading system. I haven't been able to think of a way to do it, but I'm sure there is something. Making the follower topic only work if they are already in AIFollow mode is possible with a multi-stage dialog and a targeted script to set a flag. I had thought about just checking based on the Companion variable, but that would exclude those escort quest NPCs. |
Raveren |
Jan 9 2005, 06:05 PM
Post
#16
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(cdcooley @ Jan 9 2005, 11:54 PM) Random places? The Alternate recall spell should give you a message if you try to go to an unset mark. The Extra recall on the other hand could very well send you to strange places. The sed_alt_recall_script includes an extra xStringCompare and test to verify that the location is valid that the sed_extra_recall_script doesn't have. Is that what you mean or is the Alternate recall really broken? If it's the Extra version you can just replace the xPositionCell line in the sed_extra_recall_script with: CODE short diff; need a temporary variable here setx diff to xStringCompare cellid "null" ifx ( diff ) player->xPositionCell px, py, pz, pa, cellid else MessageBox "That Mark has not been set." endif But make sure you have morrowind.esm loaded along with the MWSEdemo.esp in MWEditSE or you'll get errors about the "player" being unkown/undefined when you try to recompile the script. Well, I warned you that they weren't balanced. I intentionally left those unbalanced though so that people can reasonably easily try the features. I did add some minimal disposition requirements just to demonstrate that restrictions are possbile. Perhaps a bounty between what you would get for an unprovoked attack and murder would be appropriate? I'm open to ideas on how to work mercantile skills into the trading system. I haven't been able to think of a way to do it, but I'm sure there is something. Making the follower topic only work if they are already in AIFollow mode is possible with a multi-stage dialog and a targeted script to set a flag. I had thought about just checking based on the Companion variable, but that would exclude those escort quest NPCs. :bowdown: this guy actually knows what he's doing ;) yes, i DID mix up the recall types, you're right. Was fun though to find yourself in middle of nowhere with fargoth following you (and leave him there:)) oh and choosing any of the dialogue options with a too low disp returns you a "I dont trust you enough to talk about that" responce! This string should be changed I think... QUOTE Perhaps a bounty between what you would get for an unprovoked attack and murder would be appropriate? A bounty equal to the stolen item's value should be more appopriate (if possible)... Unless you're mugging someone when no one sees you/you're wearing a special disguise... Hey a mugger mod anyone? ;) perhaps you could help me with my little project too? Link thank you. -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
DragoonWraith |
Jan 9 2005, 06:36 PM
Post
#17
|
Diviner Joined: 13-June 03 |
Disguises have already been done by the uber-incredible Magical Trinkets of Tamriel 3 (and above). As for the penalty, I'd say Unprovoked Attack (assuming they aren't in combat with you) + value of stolen items. That, of course, requires some way of getting the stolen items? Is there a way to do such?
-------------------- "change the world..."
QUOTE(Braddock @ Oct 15 2004, 11:51 PM) a ninja dressed like a clown is still just as stealthy, provided he's at a circus "Blinding light, bind my foes in unbreakable chains... Disperse the shadows! Ray of Paralysis!"~Saradin Carm Bonus Points: Ronin +5 NuclearDope +10 MOO_COW +20 RavynAngel +20 Case +50 |
Silver_Falcon |
Jan 9 2005, 06:44 PM
Post
#18
|
Curate Joined: 13-March 04 |
cool, I'm going to try a few things with this :)
-------------------- |
Raveren |
Jan 9 2005, 06:46 PM
Post
#19
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(DragoonWraith @ Jan 10 2005, 12:46 AM) Disguises have already been done by the uber-incredible Magical Trinkets of Tamriel 3 (and above). As for the penalty, I'd say Unprovoked Attack (assuming they aren't in combat with you) + value of stolen items. That, of course, requires some way of getting the stolen items? Is there a way to do such? As you mentioned in another thread you didn't use the demo, so it works like this: you raise the npc's disposition high enough and select "~Steal everything" dialogue entry...and you steal everything from him/her;) The value could be easily determined by using minimalprofit or something like that tribunal function... Cdcooley did say it is unbalancing... edit: mtt3 disguises work in a different way, they TAKE AWAY your bounty, whilst it would be fun robbing commoners of anything they have in dark alleys dressed like :ninja: This post has been edited by Raveren: Jan 9 2005, 06:48 PM -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 9 2005, 06:51 PM
Post
#20
|
Adept Joined: 3-May 04 |
QUOTE(Raveren @ Jan 9 2005, 05:15 PM) oh and choosing any of the dialogue options with a too low disp returns you a "I dont trust you enough to talk about that" responce! This string should be changed I think... That's the default generated from the Info Refusal section. Adding another dialog entry for each topic that doesn't have a disposition requirement would take precedence.The dialog really should be race specific too, I just wanted to get a working version out. QUOTE A bounty equal to the stolen item's value should be more appopriate (if possible)... Unfortunately, I can't think of a way to do that. There aren't any functions to get the value of an item.QUOTE Unless you're mugging someone when no one sees you/you're wearing a special disguise... Hey a mugger mod anyone? ;) I like it. |
DragoonWraith |
Jan 9 2005, 06:53 PM
Post
#21
|
Diviner Joined: 13-June 03 |
QUOTE(Raveren @ Jan 9 2005, 05:56 PM) edit: mtt3 disguises work in a different way, they TAKE AWAY your bounty, whilst it would be fun robbing commoners of anything they have in dark alleys dressed like :ninja: Actually, if you're wearing a disguise, you don't get incriminated for the offense. If you want to just not be seen, that would be a simple matter of a CE Invisibility Ninja-Suit. And theft is part of dialogue? Aw, I was hoping it was some kind of move or skill (0 Magicka spell) that you use on people. -------------------- "change the world..."
QUOTE(Braddock @ Oct 15 2004, 11:51 PM) a ninja dressed like a clown is still just as stealthy, provided he's at a circus "Blinding light, bind my foes in unbreakable chains... Disperse the shadows! Ray of Paralysis!"~Saradin Carm Bonus Points: Ronin +5 NuclearDope +10 MOO_COW +20 RavynAngel +20 Case +50 |
BungaDunga |
Jan 9 2005, 06:58 PM
Post
#22
|
Diviner Joined: 30-August 04 |
QUOTE(DragoonWraith @ Jan 9 2005, 03:03 PM) And theft is part of dialogue? Aw, I was hoping it was some kind of move or skill (0 Magicka spell) that you use on people. I think it is possible to do it as a spell too- if xGetPCTarget (I think that is the command) works as expected. -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
cdcooley |
Jan 9 2005, 07:08 PM
Post
#23
|
Adept Joined: 3-May 04 |
QUOTE(DragoonWraith @ Jan 9 2005, 06:03 PM) And theft is part of dialogue? Aw, I was hoping it was some kind of move or skill (0 Magicka spell) that you use on people. Sorry, I got lazy. (And there was the bug with the xGetPCTarget function.) I really just wanted to prove that the script extender part of getting the items to and from the NPCs isn't terribly difficult. Even without the xGetPCTarget function, you could use the technique from the Scripted Spells mod that lets you steal other people's spells and call my item stealing script instead of the spell stealing one. The sed_inventory_take_one script (run as a targeted script) on some NPC will take one of it's possessions (chosen randomly) and give it to the "sed_holder". The sed_inventory_take_all script will take everything, and the sed_inventory_restore will transfer everything from the "sed_holder" into someone else's inventory. So stealing an item is simply a matter of running one of the "take" scripts on an NPC and then the "restore" script on the player. (The sed_holder is an invisible NPC stored in a special custom cell.) |
DragoonWraith |
Jan 9 2005, 08:31 PM
Post
#24
|
Diviner Joined: 13-June 03 |
Ah. OK. I'm starting to understand how it works. It does mean I've got a bunch of functions to learn, but OK, at least I'm not completely befuddled (as I was by Shanjaq's post a little while ago). Is it possible to set it up to steal the NPC's equipped weapon, or armor, or something? Maybe create a real Thief character class?
-------------------- "change the world..."
QUOTE(Braddock @ Oct 15 2004, 11:51 PM) a ninja dressed like a clown is still just as stealthy, provided he's at a circus "Blinding light, bind my foes in unbreakable chains... Disperse the shadows! Ray of Paralysis!"~Saradin Carm Bonus Points: Ronin +5 NuclearDope +10 MOO_COW +20 RavynAngel +20 Case +50 |
cdcooley |
Jan 9 2005, 09:01 PM
Post
#25
|
Adept Joined: 3-May 04 |
QUOTE(DragoonWraith @ Jan 9 2005, 07:41 PM) Ah. OK. I'm starting to understand how it works. It does mean I've got a bunch of functions to learn, but OK, at least I'm not completely befuddled (as I was by Shanjaq's post a little while ago). Is it possible to set it up to steal the NPC's equipped weapon, or armor, or something? Maybe create a real Thief character class? My script doesn't make a distinction between equipped and unequipped items. Targeting a particular type of item would be more difficult but possible. It's easier to take the "grab one at random" approach so that's what I did. I should probably have weighted the probabilities so that you were more likely to get a non-equipped item now that I think about it. It should be VERY hard to steal any equipped items through stealth. How can you take someone's shirt without drawing attention to yourself? As a spell or as a mugging it makes more sense. The "Give me something and I'll let you live" line is a classic, and now the PLAYER can use it on the NPCs. The scripting really isn't that hard. I guess you still haven't had a chance to check it out so here's the script to cycle through someone's inventory and take everything. The "sed_holder" could be any container, NPC, or creature. CODE begin sed_inventory_take_all ; Run as a targeted global script to transfer all of the items held by the ; target (container/NPC/creature) to the temporary storage NPC (sed_holder). ; Warning: Negative inventory items will be removed, and the magic ; respawning behavior will be lost. ; Warning: Leveled Items (LEVI) will be transfered, but lose their magic ; and will show up with broken icons and no meshes. Need a good ; way to detect and eliminate or ignore these. stopscript sed_inventory_take_all long ctid long invitem long invref long invcount setx ctid to xGetRef "sed_holder" setx invitem,invcount,invref to xInventory whilex ( invcount ) if ( invcount < 0 ) ; lose the magic of negative inventory set invcount to 0 - invcount endif ctid->xAddItem invitem invcount xRemoveItem invitem invcount setx invitem,invcount,invref to xInventory endwhile The take one version is only slightly longer and that's because of the logic needed to select one of them at random. The inventory manipulation commands are the same. |
TrevorDemented |
Jan 9 2005, 09:34 PM
Post
#26
|
Acolyte Joined: 8-September 04 |
One thing I'd like to see in MW is a way to have random fighting amongst NPCs and NPCs and creatures and so on. That would add some realism maybe that can be added in the future just a humble suggestion.
|
Beryllium |
Jan 10 2005, 05:54 AM
Post
#27
|
Curate Joined: 9-April 03 |
QUOTE(cdcooley @ Jan 10 2005, 07:26 AM) QUOTE Unchecking all of my plugins makes no difference. I wonder if it is an American/European MW versions thing... but I would have expected an error message if it was the wrong MW executable... am I right? I suspect it only works with the American version. You'll have to PM FreshFish to be sure. Sorry. Well, I'm reinstalling MW from scratch. It seems other people are not having this problem. Is FreshFish ever around these days? Edit:- No go. A new install of MW on a different machine, running XP instead of W2K, and it also crashes to desktop at the end of the 'initialising data' phase. The same thing happens when I try an old version 0.8d of the extender. So it's not likely to be the download. If it is the environment theh I find it difficult to believe that it happens on both of my computers, but no-body else is seeing it. There is nothing in the logs or error messages, and nothing is displayed in the DOS box that the extender is running in. Both programs just suddenly terminate. Very odd... It's problems like this that are one reason why developers steer shy of the extender. Apparently it only works with one version of Morrowind. This might not be a problem if it was under active development, because it is possible to write an extender which searches the target executable for it's correct insertion point, and will therefore work on all versions that the developer has access to and can reasonably be expected to work on future versions as well. This post has been edited by Beryllium: Jan 10 2005, 08:35 AM |
ReganInFrance |
Jan 10 2005, 12:14 PM
Post
#28
|
Acolyte Joined: 14-November 04 |
QUOTE(cdcooley @ Jan 9 2005, 10:07 PM) I forgot to Disable/Enable the followers in the sed_follower_call script. Since you downloaded the developer version of the extender you should be able to open the mod in MWEditSE and make the change yourself. That did the trick :) It was a bit like playing Dungeon Siege before I added those lines of code. Sometimes followers don't become solid immediately, or only 1 of them becomes solid, but after a cell change they are all solid. Just thought you ought to know. It might be my heavily modded game that's throwing it off, as certain script intensive things do tend to malfunction at times (Vampire Embrace notably). Thanks for this fantastic enhancement :) -------------------- Do you NIF ?
If not, get Milkshape and the NIFLA plugins! http://www.milkshape3d.com http://groups.yahoo.com/group/NIFLA/ |
cdcooley |
Jan 10 2005, 01:56 PM
Post
#29
|
Adept Joined: 3-May 04 |
QUOTE(ReganInFrance @ Jan 10 2005, 11:24 AM) That did the trick :) It was a bit like playing Dungeon Siege before I added those lines of code. Sometimes followers don't become solid immediately, or only 1 of them becomes solid, but after a cell change they are all solid. Just thought you ought to know. It might be my heavily modded game that's throwing it off, as certain script intensive things do tend to malfunction at times (Vampire Embrace notably). Thanks for this fantastic enhancement :) Sometimes the Disable/Enable trick doesn't work unless you do it twice in two different frames. So something like: CODE begin sed_follower_call float px float py float pz float pa long npcid long cellid long tmp_follower short diff short state ifx ( state ) ; this is really the second pass, the first is in the else section stopscript sed_follower_call set state to 0 ; reset for next time xFileRewind "sedfollowers" setx tmp_follower to xFileReadString "sedfollowers" setx diff to xStringCompare tmp_follower "null" whilex ( diff ) setx npcid to xGetRef tmp_follower xSetRef npcid Disable xSetRef npcid Enable setx tmp_follower to xFileReadString "sedfollowers" setx diff to xStringCompare tmp_follower "null" endwhile else ; this is the first step for moving the followers set state to 2; gets ready for the second step set px to player->GetPos X set py to player->GetPos Y set pz to player->GetPos Z set pa to player->GetAngle Z setx cellid to xPCCellId xFileRewind "sedfollowers" setx tmp_follower to xFileReadString "sedfollowers" setx diff to xStringCompare tmp_follower "null" whilex ( diff ) setx npcid to xGetRef tmp_follower npcid->xPositionCell px, py, pz, pa, cellid xSetRef npcid Disable xSetRef npcid Enable setx tmp_follower to xFileReadString "sedfollowers" setx diff to xStringCompare tmp_follower "null" endwhile end I'm not at the computer where I can test this, so there might be a problem though. |
cdcooley |
Jan 10 2005, 02:05 PM
Post
#30
|
Adept Joined: 3-May 04 |
QUOTE(Beryllium @ Jan 10 2005, 05:04 AM) It's problems like this that are one reason why developers steer shy of the extender. Apparently it only works with one version of Morrowind. This might not be a problem if it was under active development, because it is possible to write an extender which searches the target executable for it's correct insertion point, and will therefore work on all versions that the developer has access to and can reasonably be expected to work on future versions as well. It's really the "chicken and egg" problem. People don't want to use it because it doesn't work on all versions and FreshFish hasn't gone to the trouble of making it work on multiple versions because people weren't showing any interest. What exact version string does your game report? You did apply the Bloodmoon patch right? FreshFish does provide the source and he has always offered to work on alternate versions, but very few people have shown interest. I'm actually amazed that he's kept working on it will all of the negative reactions people keep giving him. But I am certainly glad that he has. I just checked and even at 0.9, the script extender is labeled as a beta release. It is under active development, it's just that the development is a little slower than some people would like. But then, I don't see anyone else taking the source and fixing the problems themselves either. I've thought about it, but have enough other things to do, especially right now. So be patient and it may work for you too. This post has been edited by cdcooley: Jan 10 2005, 02:21 PM |
Max_aka_NOBODY |
Jan 10 2005, 02:24 PM
Post
#31
|
Diviner Joined: 3-December 03 From: Vivec, Jobasha's Rare Books |
I keep hearing of this source, but never managed to find it. Where is it?
-------------------- The LGNPC Project
TES4.com My mods: Vivid MW Repaint Morrowind Photographer The Roads to Heaven Complete Morrowind Windows Glow Reflective Gold Death Readable Books ... |
Beryllium |
Jan 10 2005, 07:17 PM
Post
#32
|
Curate Joined: 9-April 03 |
QUOTE(cdcooley @ Jan 11 2005, 06:15 AM) It's really the "chicken and egg" problem. People don't want to use it because it doesn't work on all versions and FreshFish hasn't gone to the trouble of making it work on multiple versions because people weren't showing any interest. What exact version string does your game report? You did apply the Bloodmoon patch right? My version string is 1.6.1820 and the European Bloodmoon patch has been applied.... the American one gives a missmatch error. But without decent error messages I can't be sure that it is really a version proble. FreshFish visits regularly... every six months... so support from that direction is problematic. Without good support what is a user, let alone a developer, to do? |
cdcooley |
Jan 11 2005, 12:22 AM
Post
#33
|
Adept Joined: 3-May 04 |
QUOTE(Max_aka_NOBODY @ Jan 10 2005, 01:34 PM) The lastest version that has been released is the one on Shanjaq's site. The full developer version that he labels "optional" for running Morrowind Online has the source for the ScriptExtender itself and the MWEditSE sources with the files needed to compile the new functions. |
DragoonWraith |
Jan 11 2005, 12:31 AM
Post
#34
|
Diviner Joined: 13-June 03 |
Heh, and before this thread I thought MWSE was something made way back when before I got into the game, and the creator had left his project available with little/no documentation, and only Shanjaq had the amazing ability to figure it out. I appear to be very much mistaken in that regard.
-------------------- "change the world..."
QUOTE(Braddock @ Oct 15 2004, 11:51 PM) a ninja dressed like a clown is still just as stealthy, provided he's at a circus "Blinding light, bind my foes in unbreakable chains... Disperse the shadows! Ray of Paralysis!"~Saradin Carm Bonus Points: Ronin +5 NuclearDope +10 MOO_COW +20 RavynAngel +20 Case +50 |
cdcooley |
Jan 11 2005, 12:35 AM
Post
#35
|
Adept Joined: 3-May 04 |
QUOTE(Beryllium @ Jan 10 2005, 06:27 PM) My version string is 1.6.1820 and the European Bloodmoon patch has been applied.... the American one gives a missmatch error. That error would seem to confirm that your version is different enough from the one he compiled against to be incompatible. Sorry. QUOTE But without decent error messages I can't be sure that it is really a version proble. FreshFish visits regularly... every six months... so support from that direction is problematic. Without good support what is a user, let alone a developer, to do? Well, as I said it really is still a work in progress and no one has risen to the challenge of helping in the development. I agree it can be a problem and I understand your frustration but I do hold hope that the next version really will be worthy of a 1.0 version number. When that happens I suspect the code will support more versions. It's possible that FreshFish didn't even realize that the European version would be different enough since it has an identical version number and I doubt if he has a version to check. |
Beryllium |
Jan 11 2005, 01:25 AM
Post
#36
|
Curate Joined: 9-April 03 |
QUOTE(cdcooley @ Jan 11 2005, 04:45 PM) QUOTE My version string is 1.6.1820 and the European Bloodmoon patch has been applied.... the American one gives a missmatch error. That error would seem to confirm that your version is different enough from the one he compiled against to be incompatible. Sorry. No. That is a message from the Ametican patch v1.6.1820 They probably refer to one of the .bsa files, since the patch does produce a v1.6.1820 executable. Anyway I've just run the American patch against a fresh Bloodmoon install and the extender still barfs. Maybe I need a set of American issue MW + TB + BM as well.... though from what people report here, the extender does work for others with the European release. As I said, without an error message we are guessing as to the cause. QUOTE Well, as I said it really is still a work in progress and no one has risen to the challenge of helping in the development. I agree it can be a problem and I understand your frustration but I do hold hope that the next version really will be worthy of a 1.0 version number. When that happens I suspect the code will support more versions. It's possible that FreshFish didn't even realize that the European version would be different enough since it has an identical version number and I doubt if he has a version to check. I can post a DVD to any interested developer that contains all of the installed versions to which I have access, zipped up.... the original install, v1.2.0722, v1.3.1029 with TB, v1.4.1313, v1.5.1629 with BM, and the last European patched v1.6.1820 |
Max_aka_NOBODY |
Jan 11 2005, 02:17 PM
Post
#37
|
Diviner Joined: 3-December 03 From: Vivec, Jobasha's Rare Books |
Thanx, cdcooley. Never realized it was there. :embarrased:
-------------------- The LGNPC Project
TES4.com My mods: Vivid MW Repaint Morrowind Photographer The Roads to Heaven Complete Morrowind Windows Glow Reflective Gold Death Readable Books ... |
Beryllium |
Jan 12 2005, 04:54 PM
Post
#38
|
Curate Joined: 9-April 03 |
QUOTE(Max_aka_NOBODY @ Jan 12 2005, 06:27 AM) Have you looked at it? It isn't too complicated, but all of the important stuff is the entry points into the executable and there's no way to verify them except by, I think, putting a breakpoint in a system call such as open file or in morrowind.exe and running it along with a debugger. That's how I would have done it years ago with turbo-debugger in DOS, but I don't know how today's developers do it. Over a year ago, when FreshFish had only the Morrowind-only version of MWSE, we had a lot of conversations about writing a Bloodmoon version. I offered to do the research on the entry points if he could clue me up on how to do it in a modern Windows environment, but he was too busy doing other things and we lost contact with each other. Eventually he did get Bloodmoon and did update MWSE, as we see. Maybe, in the fullness of time, MWSE will become a mature and robust application. But in the meantime the universe is expanding and cooling and I'm getting closer to writing my last line of code. |
Beryllium |
Jan 13 2005, 12:31 PM
Post
#39
|
Curate Joined: 9-April 03 |
We should try and keep this thread alive so that FreshFish will see it when he shows up. If he shows up.
Looking through his code for the entry points I came up with the following table:- CODE FIXUPSCRIPTBREAK 0FAD60 0FDB00 FIXUPPLAYER 0FB2BA 0FE05A FIXUPPLAYERBREAK 0FB2C8 0FE068 FIXUPINSTANCE 0FB2CD 0FE06D FIXUPINSTANCEBREAK 0FB2E1 0FE081 FIXUPTEMPLATE 0FB3E0 0FE180 FIXUPTEMPLATEBREAK 0FB3F5 0FE195 DECODEWITHINFOBREAK 0FD792 100540 RUNSCRIPTBREAK 0FFAE0 1028A0 RUNFUNCOPCODETEST 102A71 105831 HASITEMEQUIPPEDRESULT 105015 107C54 PLACEATPCRESULT 106D03 109A94 RUNFUNCIDXERRBREAK 10A505 10D5D6 RUNFUNCIDXERRCONTINUE 10A525 10D5F6 TES3OP_IMAGE 3A0CF4 3A91C4 MASTER_IMAGE 3BE11C 3C67DC MASTERCELL_IMAGE 3BE120 3C67E0 MASTER2_IMAGE 3BE61C 3C6CDC SECONDOBJECT_IMAGE 3C6038 3CE6F8 TARGETCELL_IMAGE 3C6038 3CE6F8 DESTINATIONX_IMAGE 3C6388 3CEA48 DESTINATIONY_IMAGE 3C638C 3CEA4C DESTINATIONZ_IMAGE 3C6390 3CEA50 TARGETROTX_IMAGE 3C6448 3CEB08 TARGETROTY_IMAGE 3C644C 3CEB0C TARGETROTZ_IMAGE 3C6450 3CEB10 TES3IP_IMAGE 3C64F0 3CEBB0 VARINDEX_IMAGE 3C64F4 3CEBB4 SECONDOBJECT_LENGTH_IMAGE 3C64F8 3CEBB8 SCRIPTTARGETREF_IMAGE 3C652C 3CEBEC SCRIPTTARGETTEMPL_IMAGE 3C6534 3CEBF4 LOCALVARIABLES_IMAGE 3C6538 3CEBF8 I figured a way to check these. Starting WinHex up and then MW in windowed mode, then transferring back to WinHex, opening the RAM editor on morrowind.exe and save-as to mw_version_whatever.dat Then exiting from everything. Later I open the dat file that I made in WinHex and look at the addresses from the above list. What I see confirms that I'm using non-compatable versions. For example the first address, 0xfad60 in plain morrowind seems to be the middle of some sort of table, wheras the corresponding 0xfdb00 from the bloodmoon version seems to be in the middle of a block of code. These DAT files are about 180 meg. Too big to email. But I've burned that DVD that I promised with the data from as many versions as I've got. Without an actual version that corresponds to FreshFish's table I can't find the corresponding places in the other versions, because I need to know what to look for. I woke up at 2AM this morning with this idea and just had to try it out. Now it's nearly time to get breakfast ready. |
Grumpy |
Jan 13 2005, 04:04 PM
Post
#40
|
Disciple Joined: 2-August 02 |
QUOTE(ReganInFrance @ Jan 10 2005, 12:24 PM) That did the trick :) It was a bit like playing Dungeon Siege before I added those lines of code. Sometimes followers don't become solid immediately, or only 1 of them becomes solid, but after a cell change they are all solid. Just thought you ought to know. It might be my heavily modded game that's throwing it off, as certain script intensive things do tend to malfunction at times (Vampire Embrace notably). Thanks for this fantastic enhancement :) Know nothing about the extender, so this may be moot, but I'll put it up anyway: Did a non-extender version of this for one companion, and had roughly the same problem. Way I worked around it was to use a timer with a 1 second delay before issuance of the second set of disable/enable functions. Another option was to use a distance check for the second set. Would require the player to move a short distance from the object before the second set activated. Basically a delay as cdcooley has suggested. with his one frame delay suggestion. Not sure if it applies here, but Cortex has suggested that more than one frame may be necessary for some operations where NPCs and changes to status (such as a change in their current AI package) are involved. -------------------- Grumpy
My mods |
Beryllium |
Jan 14 2005, 12:50 AM
Post
#41
|
Curate Joined: 9-April 03 |
Am I a few tealeaves short of a brew? Suddenly, it works. I can't get it to crash like it used to. Even adding 57 mods doesn't faze it.
I was able to steal everything off a slave trader, and was then beaten to death by the naked guy. What a laugh. I've no idea what I did to fix it.... I was swapping versions in and out from zipped-up previous installations. No idea... can't reproduce it... but happy. I'd still like to help FF or whoever is interested extending MWSE to cover all versions... but I still don't know how. |
BungaDunga |
Jan 14 2005, 01:03 AM
Post
#42
|
Diviner Joined: 30-August 04 |
QUOTE(Beryllium @ Jan 13 2005, 09:00 PM) Am I a few tealeaves short of a brew? Suddenly, it works. I can't get it to crash like it used to. Even adding 57 mods doesn't faze it. Good to hear you got it to work ^_^ FreshFish has fixed xPlaceItem (yay!) so now I can make a proper necromancy-on-all script. -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
cdcooley |
Jan 14 2005, 01:46 AM
Post
#43
|
Adept Joined: 3-May 04 |
QUOTE(Beryllium @ Jan 14 2005, 12:00 AM) Am I a few tealeaves short of a brew? Suddenly, it works. I can't get it to crash like it used to. Even adding 57 mods doesn't faze it. I was able to steal everything off a slave trader, and was then beaten to death by the naked guy. What a laugh. I'm glad you got it working. It must just be the presence of FreshFish since I got a PM yesterday. He's been reading this thread and is working on the next version. We may be approaching the mystic 1.0 release! I'm also glad someone enjoyed the tweaks I make if you take everything from an NPC. I just wanted to demonstrate that you can do something. Obviously, it would be better to put a bounty on the player, but this was more fun. I thought about creating a half-dozen half-size Fargoth's to swarm in and attack, but decided that was just too much. And FreshFish has given me the secret for making xGetPCTarget work. The error is in the compiler code not the extender itself. So if you're brave enough to hex edit the your esp, you can use it now. If not, just wait a little while longer for the next release. It shouldn't be too long now, as measured in software development terms. (Just remember that software projects are never completed on schedule, and FreshFish has wisely chosen not to even try to predict when it will be ready. It could be tomorrow or three months from now.) Grumpy is right, sometimes you need to wait a few frames after a cell load for the NPC disable/enable trick to make them substantial. I've never seen it take more than two extra frames, but that doesn't mean is wouldn't happen occasionally. If it's really an issue, you can also just issue a "FixMe" command which will force a reload of the cell and automatically reset the collision settings. |
Illtempered |
Jan 14 2005, 04:06 AM
Post
#44
|
Diviner Joined: 5-March 04 |
Wow, this is exciting. Oh, the possibilities...
Can the script extender be used to give the PC new animations, or moves? If so, I want to be able to knock an enemy down with the but of my sword, then disarm them. And, I want to be able to lock doors, for the MP mod. -------------------- |
Beryllium |
Jan 14 2005, 07:08 PM
Post
#45
|
Curate Joined: 9-April 03 |
QUOTE(Illtempered @ Jan 14 2005, 08:16 PM) Wow, this is exciting. Oh, the possibilities... The animations are part of the .nif file, and making those has been the cause of any amount of blood sweat and tears.Can the script extender be used to give the PC new animations, or moves? If so, I want to be able to knock an enemy down with the but of my sword, then disarm them. And, I want to be able to lock doors, for the MP mod. Maybe MWSE could simplify the triggering of existing animations, but at the moment it only supports the same commands as standard scripting, as far as animations go. |
BungaDunga |
Jan 14 2005, 09:41 PM
Post
#46
|
Diviner Joined: 30-August 04 |
QUOTE(cdcooley @ Jan 13 2005, 09:56 PM) And FreshFish has given me the secret for making xGetPCTarget work. The error is in the compiler code not the extender itself. So if you're brave enough to hex edit the your esp, you can use it now. If not, just wait a little while longer for the next release. It shouldn't be too long now, as measured in software development terms. (Just remember that software projects are never completed on schedule, and FreshFish has wisely chosen not to even try to predict when it will be ready. It could be tomorrow or three months from now.) Same with the xPlaceItem- it was MWEdit not compiling it as the right opcode. Mind telling us what we need to hexedit to get it to work? Now if only FreshFish can get it to compile FixMe... -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
cdcooley |
Jan 15 2005, 03:42 AM
Post
#47
|
Adept Joined: 3-May 04 |
QUOTE(BungaDunga @ Jan 14 2005, 08:51 PM) Same with the xPlaceItem- it was MWEdit not compiling it as the right opcode. Mind telling us what we need to hexedit to get it to work? Now if only FreshFish can get it to compile FixMe... The 3c19 should be 3c07. (Or 193c/073c using the little-endian order.) And I now have a MWSE version of the Better Portable Containers scripts. They are shorter, work in interiors as well as exteriors, and run faster. What could be better? Remember all of the time and effort you spent getting my Thu'um script working with the player movement code? Well, it's all obsolete for anyone willing to run the Script Extender. Amazing. |
Beryllium |
Jan 15 2005, 04:14 AM
Post
#48
|
Curate Joined: 9-April 03 |
QUOTE(Beryllium @ Jan 14 2005, 05:00 PM) I'd still like to help FF or whoever is interested extending MWSE to cover all versions... but I still don't know how. I've figured that it is possible to recognise some of the breakpoints in some of the versions, given the correct breakpoints in two of them. Here is the first one Entry point:- fixUpScriptBreak version - address - version description 1.? - 0xE9A50 - original install version 1.2.0722 - 0xF4CF0 - first patch 1.3.1029 - 0xF8690 - Tribunal install 1.4.1313 - 0xFAD60- Tribunal patch 1.5.1629 - 0xFDA40 - Bloodmoon install 1.6.1820 - 0xFDB00 - Bloodmoon patch Entry point:- FixUpPlayer version - address 1.? - maybe 0xE9F7E 1.2.0722 - maybe 0xF51F5 1.3.1029 - 0xF8BEA 1.4.1313 - 0xFB2BA 1.5.1629 - 0xFE05A 1.6.1820 - 0xF51F5 I'm trying to come up with something better than 'maybe' These equivalents were worked out by just looking at the code and using common sense, but I'm looking for better tools than that before continuing. Edit:- I wonder if the game of the year version is different. This post has been edited by Beryllium: Jan 15 2005, 04:16 AM |
BungaDunga |
Jan 15 2005, 08:48 PM
Post
#49
|
Diviner Joined: 30-August 04 |
QUOTE(cdcooley @ Jan 14 2005, 11:52 PM) The 3c19 should be 3c07. (Or 193c/073c using the little-endian order.) And I now have a MWSE version of the Better Portable Containers scripts. They are shorter, work in interiors as well as exteriors, and run faster. What could be better? Remember all of the time and effort you spent getting my Thu'um script working with the player movement code? Well, it's all obsolete for anyone willing to run the Script Extender. Amazing. Good to hear you managed to get xPositionCell to work properly- I never got it to behave quite right. Feel free to release them as an addon to my mod- make another esp which just overrides the scripts in the original. -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Raveren |
Jan 17 2005, 09:18 PM
Post
#50
|
Curate Joined: 21-December 04 From: Far out |
much more than a bump..
I assume freshfish will (sooner or later) read this.. So, I have another request (plea) for the next version of mwse, xGetEquiped and xEquip (to allow these two to accept variables) I just threw out another mod when realised there are no such functions... (xMessagebox!!!) ;) -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
BungaDunga |
Jan 18 2005, 12:26 AM
Post
#51
|
Diviner Joined: 30-August 04 |
Just a small update, I've been being lazy and not modding recently, been playing Lothavor's Legacy- a great example of scripting. Once I finish off the big baddie I'll see about making a script that will grab every item in a given cell, and drop them into a container at the player's feet. I'll have it use cdcooley's portable container scripts. I'll see about maybe even grabbing all the items from containers in the cell- that should be possible as well. I envision this as a "travel case" for those who want to move house without having to take ages ransacking it. It would also be a major cheat for thieves, but there's no way to limit it to "legitimate" uses.
Also, dynamic generation of new portable containers ought to be possible- I'll have to experiment. I haven't got xPlaceItem to work- even using the "fixed" compiler exe, and I think I would need to use that. Another request for FreshFish- I would love a command to check what item a given npc has equipped in whichever slot you choose. For example, something like GetSlotItem, "helm" which would return the id of the equipped helm. A sped-up GetSpellEffects would be awesome, too. Arrays would be nice, but they can be approximated with external files, which cdcooley used for his follower-teleportation scripts. This post has been edited by BungaDunga: Jan 18 2005, 12:27 AM -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Beryllium |
Jan 18 2005, 05:46 AM
Post
#52
|
Curate Joined: 9-April 03 |
QUOTE(BungaDunga @ Jan 18 2005, 04:36 PM) ... I haven't got xPlaceItem to work- even using the "fixed" compiler exe, and I think I would need to use that.... You have a compiler that uses the right opcode for xPlaceItem? Last I heard we were waiting for that, but could hex edit the mods in the meantime. |
Beryllium |
Jan 21 2005, 05:39 AM
Post
#53
|
Curate Joined: 9-April 03 |
The main English versions of Morrowind are 1.2.0722, 1.4.1313 and 1.6.1820, and I have all of these and can advise on their differences.
But there is also a German version 1.2.0812 and a French version 1.2.0813 neither of which I have, although I have been able to locate a Fr.1.2.013 patch on a P2P network. For universal coverage, the script extender will have to work with all of these... within the limitations, naturally, that the early ones don't have the Bloodmoon op-codes. |
The_Silent_Pyro |
Jan 21 2005, 10:55 PM
Post
#54
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
Okay some requests from me:
Put a script on all items of a type. E.G., a script on all weapons without having to manually do it in CS. xGetWeight--returns the weight of the item xGetColliding--returns true if the item is colliding with something xGetOwner--returns the owner of the item MAKE FALL WORK ON NON-CHARACTER OBJECTS PLEASE! Probably more requests to come. -------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
cdcooley |
Jan 22 2005, 01:28 AM
Post
#55
|
Adept Joined: 3-May 04 |
QUOTE(The_Silent_Pyro @ Jan 21 2005, 10:05 PM) Unfortunately, I suspect that most (and maybe all) of those aren't possible. Even if they are possible, they may be too hard for anyone to be willing to get them working. On the other hand, don't stop with ideas. This post has been edited by cdcooley: Jan 22 2005, 01:30 AM |
BungaDunga |
Jan 22 2005, 01:37 AM
Post
#56
|
Diviner Joined: 30-August 04 |
QUOTE(cdcooley @ Jan 21 2005, 09:38 PM) Unfortunately, I suspect that most (and maybe all) of those aren't possible. Even if they are possible, they may be too hard for anyone to be willing to get them working. On the other hand, don't stop with ideas. The weight/owner ones ought to be possible- they have to be stored in some fashion, so MWSE ought to be able to retrieve them. -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Beryllium |
Jan 22 2005, 02:37 AM
Post
#57
|
Curate Joined: 9-April 03 |
QUOTE(BungaDunga @ Jan 22 2005, 05:47 PM) QUOTE Unfortunately, I suspect that most (and maybe all) of those aren't possible. Even if they are possible, they may be too hard for anyone to be willing to get them working. On the other hand, don't stop with ideas. The weight/owner ones ought to be possible- they have to be stored in some fashion, so MWSE ought to be able to retrieve them. Yes, theoretically. It's only common sense. The extender could be extended to include get and set commands for anything that you can set up in TES-CS. I wonder if it would even be possible to create uniquely new objects, creatures or NPCs via scripting. Such additional things would be stored in your saved game, like the doubling bug, except that there would only be the double and no original. You'd have to be careful how you cleaned your saved game or you'd loose them. This post has been edited by Beryllium: Jan 22 2005, 02:44 AM |
The_Silent_Pyro |
Jan 22 2005, 09:21 AM
Post
#58
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
Yeah, I know they have to be stored somewhere. For the owner ones, I'd be happy if I could tell simply if something didn't belong to the player.
I think that starting a script on all items of a type is possible too. That information is stored somewhere as well. the command would be like xStartScriptIT, (item type), (script ID). At least, I sincerely hope this is possible. Or at least to start a script on EVERYTHING and then to detect what item type it is. I.E. xStartScriptAll, (script name) then xGetObjectType. The xGetColliding I didn't have much hope for. I think I can do it, but it's a major pain in the spotted owl. Edit: Added the xGetColliding part and fixed typos. This post has been edited by The_Silent_Pyro: Jan 22 2005, 09:23 AM -------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
The_Silent_Pyro |
Jan 22 2005, 09:58 AM
Post
#59
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
I can't seem to download the link from the first page. Anyone got any clues? Will take an e-mail. I'll send a PM to anyone who offers.
-------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
Raveren |
Jan 22 2005, 10:42 AM
Post
#60
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(The_Silent_Pyro @ Jan 22 2005, 03:31 PM) I think that starting a script on all items of a type is possible too. That information is stored somewhere as well. the command would be like xStartScriptIT, (item type), (script ID). At least, I sincerely hope this is possible. Or at least to start a script on EVERYTHING and then to detect what item type it is. I.E. xStartScriptAll, (script name) then xGetObjectType. that, in my knowledge, is possible via both mwe and mwse, however (I think you have your better telekinesis mod in mind) you can't determine a certain generic object: both script extenders can cycle through all objects around the player and do various actions with them, including starting a script on em, but (currently) you can't (comfortably) pick a certain one of multiple items with the same ID. -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
The_Silent_Pyro |
Jan 22 2005, 10:58 AM
Post
#61
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
QUOTE(Raveren @ Jan 22 2005, 10:52 AM) that, in my knowledge, is possible via both mwe and mwse, however (I think you have your better telekinesis mod in mind) you can't determine a certain generic object: both script extenders can cycle through all objects around the player and do various actions with them, including starting a script on em, but (currently) you can't (comfortably) pick a certain one of multiple items with the same ID. Yes, I am thinking of my Improved Telekinesis. Now, would you mind explaining all that again? I want to have a script run on all pickupable items, and from the looks of it, to do this I have to be able to determine what kind of item they are (weapon, book, etc.). Are you trying to tell me that there is a way to do this? -------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
Raveren |
Jan 22 2005, 01:10 PM
Post
#62
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(The_Silent_Pyro @ Jan 22 2005, 05:08 PM) Yes, I am thinking of my Improved Telekinesis. Now, would you mind explaining all that again? I want to have a script run on all pickupable items, and from the looks of it, to do this I have to be able to determine what kind of item they are (weapon, book, etc.). Are you trying to tell me that there is a way to do this? look in your thread. I've put the script there This post has been edited by Raveren: Jan 22 2005, 01:16 PM -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 22 2005, 02:28 PM
Post
#63
|
Adept Joined: 3-May 04 |
QUOTE(The_Silent_Pyro @ Jan 22 2005, 09:08 AM) I can't seem to download the link from the first page. Anyone got any clues? Will take an e-mail. I'll send a PM to anyone who offers. I've edited the first post, but thought I should reply too. Verizon is significantly less reliable than reasonable. I've put up yet another alternate link. MWSEdemo.zip It seems I need to find a new ISP. Despite their claims, Verizon's "SPAM blocking" efforts includes blocking most automated e-mail. Now that they have finally admitted I know why I can't even complete my account creation at TESMods and other upload sites. It's only through manual intervention by the Bethesda folks that I can get to the forums here. This post has been edited by cdcooley: Jan 22 2005, 02:30 PM |
BungaDunga |
Jan 22 2005, 02:52 PM
Post
#64
|
Diviner Joined: 30-August 04 |
Hmm, cdcooley, would you be interested in a GMail invite? Essentially infinate space- though it does not like sending executables, even when you try to trick it by putting them in a zip. It has good spamblocking too. The search features are very nice, and its easy to categorize incoming mail automatically.
-------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Beryllium |
Jan 22 2005, 04:51 PM
Post
#65
|
Curate Joined: 9-April 03 |
QUOTE(The_Silent_Pyro @ Jan 23 2005, 03:08 AM) Yes, I am thinking of my Improved Telekinesis. Now, would you mind explaining all that again? I want to have a script run on all pickupable items, and from the looks of it, to do this I have to be able to determine what kind of item they are (weapon, book, etc.). Are you trying to tell me that there is a way to do this? Pasrdon for butting in but I see you comparing MWE with MWSE. The last I heard of MWE was that it didn't have documentation or a development system. Has that changed? and if so where can I get it. I'm wondering, too, if the source code is included and if it is easier to understand than MWSE. Thanks |
BungaDunga |
Jan 22 2005, 05:16 PM
Post
#66
|
Diviner Joined: 30-August 04 |
QUOTE(Beryllium @ Jan 22 2005, 01:01 PM) Pasrdon for butting in but I see you comparing MWE with MWSE. The last I heard of MWE was that it didn't have documentation or a development system. Has that changed? and if so where can I get it. I'm wondering, too, if the source code is included and if it is easier to understand than MWSE. Thanks It does have some limited documentation, and a working compiler- you can find both on the MWE forums. It is not as easy to use as MWSE, however. For example: To call a function- for example, NextLiving- in MWE, you have to do something like this: ToggleWorld ;NextLiving Which gets compiled into just the commented command by the compiler. To pass data to MWE you have to use a set of 10 or so variables. It also doesn't add psuedo variable types like MWSE does ( Ref, String ). On the other hand it doesn't require you to use an xif type function, so writing state-variable controlled scripts is rather easier, since you are not limited by the simplicity of xIf. MWE has an awful lot of hardcoding- it really was made for the mods Aerelorn made that used it. For example, theres no way to detect keypresses except for triggering trance. MWE can edit in-game objects though, as seen in Writing Enhanced/Journal Enhanced. I am not sure how hardcoded that is. It can also edit the strength of spells on a per-effect basis. -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
BungaDunga |
Jan 22 2005, 07:06 PM
Post
#67
|
Diviner Joined: 30-August 04 |
Good news!
I can finally open mods with MWEditSE! I don't know why, but it has stopped crashing when I tell it to open anything. I have no excuses not to get something done now ^_^ -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Max_aka_NOBODY |
Jan 22 2005, 07:21 PM
Post
#68
|
Diviner Joined: 3-December 03 From: Vivec, Jobasha's Rare Books |
A bit offtopic maybe, but how's the progress with FreshFish. I had an idea when I first DLed MWSE, but since the xGetPCTarget function doesn't work, it's useless for that now... And almost anything else I have on my mind seem to be too much for it to handle... :hehe:
-------------------- The LGNPC Project
TES4.com My mods: Vivid MW Repaint Morrowind Photographer The Roads to Heaven Complete Morrowind Windows Glow Reflective Gold Death Readable Books ... |
cdcooley |
Jan 23 2005, 08:21 PM
Post
#69
|
Adept Joined: 3-May 04 |
The xRefType function returns a "long" variable value that contains the type of the object reference. The number is just the (little-endian) numerical interpretation of the four-character name of that type. Since most of us can't convert them in our heads, I've made a list of values for each of the object types in an ESM/ESP file.
TES3 = 861095252 (Main Header) ACTI = 1230259009 (Activator) ALCH = 1212369985 (Alchemy) APPA = 1095782465 (Alchemy Apparatus) ARMO = 1330467393 (Armour) BODY = 1497648962 (Body Parts) BOOK = 1263488834 (Books) BSGN = 1313297218 (Birth Sign) CELL = 1280066883 (Cell Definitions) CLAS = 1396788291 (Class Definition) CLOT = 1414483011 (Clothing) CONT = 1414418243 (Containers) CREA = 1095062083 (Creatures) DIAL = 1279347012 (Dialogue topic) DOOR = 1380929348 (Door Definition) ENCH = 1212370501 (Enchanting Effects) FACT = 1413693766 (Faction Definition) GLOB = 1112493127 (Global Variable) GMST = 1414745415 (Game Setting) INFO = 1330007625 (Dialogue response) INGR = 1380404809 (Ingrediants) LAND = 1145979212 (Landscape) LEVC = 1129727308 (Levelled Creatures) LEVI = 1230390604 (Levelled Items) LIGH = 1212631372 (Lights) LOCK = 1262702412 (Lockpicking Items) LTEX = 1480938572 (Land Texture) MGEF = 1178945357 (Magic Effect) MISC = 1129531725 (Misc Items) NPC_ = 1598246990 (NPCs) PGRD = 1146242896 (Path Grid) PROB = 1112494672 (Probe Items) RACE = 1162035538 (Race Definition) REGN = 1313293650 (Region) REPA = 1095779666 (Repair Items) SCPT = 1414546259 (Script) SKIL = 1279871827 (Skill) SNDG = 1195658835 (Sound Generator) SOUN = 1314213715 (Sound) SPEL = 1279610963 (Spells) STAT = 1413567571 (Static) WEAP = 1346454871 (Weapons) No, I didn't do that by hand. I ran the codes from Dave Humphrey's ESM format documentation through a little script. I don't think you can actually get a reference to all of these, just ignore the ones you don't want or need. The irony is that when you are hand-compiling the code, you just put the four characters, but when you use the MWEditSE compiler you have to use the number. (I decided to add a couple of lines to my script to pull the description of those four-letter codes since Dave put it on the next line in an easy to find spot.) This post has been edited by cdcooley: Jan 23 2005, 08:41 PM |
Raveren |
Jan 23 2005, 08:28 PM
Post
#70
|
Curate Joined: 21-December 04 From: Far out |
my sincere thanks!
edit: deleted the whole list quote, sorry :) This post has been edited by Raveren: Jan 23 2005, 08:36 PM -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
BungaDunga |
Jan 23 2005, 08:32 PM
Post
#71
|
Diviner Joined: 30-August 04 |
QUOTE(Raveren @ Jan 23 2005, 04:38 PM) Mind editing the list out of your post? It clutters up the thread a bit. And yes, this shall prove very useful ^_^ -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
cdcooley |
Jan 23 2005, 09:37 PM
Post
#72
|
Adept Joined: 3-May 04 |
QUOTE(Max_aka_NOBODY @ Jan 22 2005, 06:31 PM) A bit offtopic maybe, but how's the progress with FreshFish. I had an idea when I first DLed MWSE, but since the xGetPCTarget function doesn't work, it's useless for that now... And almost anything else I have on my mind seem to be too much for it to handle... :hehe: The xGetPCTarget function itself works just fine. The compiler just generates the wrong opcode for it. So if you really want to use it, just write the script and then edit the esp to substitute the correct value in the compiled script. It's easy enough, just open the file in the Enchanted Editor and expand the "Compiled Script" section and find the number 25 followed by the number 60. Change the 25 into a 7 and save. If you use a hex-edit program, the numbers would be 19 followed by 3C and you change the 19 to 07. You could also hex-edit the MWEditSE.exe program itself. The magic 193C value is only in there once, so changing it to 073C will make it generate the correct code in your scripts. |
Raveren |
Jan 23 2005, 09:41 PM
Post
#73
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(cdcooley @ Jan 24 2005, 03:47 AM) The xGetPCTarget function itself works just fine. The compiler just generates the wrong opcode for it. So if you really want to use it, just write the script and then edit the esp to substitute the correct value in the compiled script. It's easy enough, just open the file in the Enchanted Editor and expand the "Compiled Script" section and find the number 25 followed by the number 60. Change the 25 into a 7 and save. If you use a hex-edit program, the numbers would be 19 followed by 3C and you change the 19 to 07. You could also hex-edit the MWEditSE.exe program itself. The magic 193C value is only in there once, so changing it to 073C will make it generate the correct code in your scripts. ARE YOU SPEAKING SERIOUSLY HERE???? OMG OMG OMG!!! OMFG!!! I LOVE YOU!!! I promise something huge tomorrow, the better rotate demo perhaps!!! -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
BungaDunga |
Jan 23 2005, 09:42 PM
Post
#74
|
Diviner Joined: 30-August 04 |
QUOTE(Raveren @ Jan 23 2005, 05:51 PM) ARE YOU SPEAKING SERIOUSLY HERE???? OMG OMG OMG!!! OMFG!!! I LOVE YOU!!! I promise something huge tomorrow, the better rotate demo perhaps!!! cdcooley to the rescue :D He seriously deserves a shrine of some kind... -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Raveren |
Jan 23 2005, 10:16 PM
Post
#75
|
Curate Joined: 21-December 04 From: Far out |
CODE begin tet long ItemRef setx ItemRef to xGetPCTarget ifx (itemref) messagebox "it friggin works" endif end IT FRIGGIN WORKS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :bowdown: :bowdown: :bowdown: :bowdown: :bowdown: -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 23 2005, 10:23 PM
Post
#76
|
Adept Joined: 3-May 04 |
Raveren,
You are so easy to please. Here are some test scripts I wrote a few weeks ago to experiment with xGetRef, xGetPCTarget, and the idea of starting targeted scripts on objects the player has targeted. This combo forces NPCs to talk to the player. Another pair, gave an inventory of all containers, NPCs, and Creatures to the log file (but I've managed to overwrite that one with a non-working version). The script will activate once for each time you sneak. You can sneak and then walk around, but the first time you target something the script will activate. If you sneak while looking at something, it activates as soon as you stop sneaking. (Without the sneak checks, you get a nasty infinite ForceGreeting, locking up the game unless you "coc" or disable the person you were talking to during the dialog.) CODE begin stt ; short name because I have to type it in the console short state long target if ( state == 0 ) if ( GetPCSneaking == 1 ) set state to 1 endif return elseif ( state == 1 ) if ( GetPCSneaking == 0 ) set state to 2 endif return elseif ( ScriptRunning show_type_and_talk == 1 ) set state to 0 return endif setx target to xGetPCTarget ifx ( target ) xSetRef target startscript show_type_and_talk set state to 0 endif end CODE begin show_type_and_talk long ttype setx ttype to xRefType MessageBox "%.0f" ttype if ( ttype == 1598246990 ) ; NPC_ ForceGreeting endif stopscript show_type_and_talk end I did find something interesting. If someone is in combat with you, you can't "target" them with xGetPCTarget. That seems a little strange, but I suppose it's related to your inability to activate them normally during combat. If you have them knocked down to the ground, you can target them, but the forcegreeting doesn't work. |
Max_aka_NOBODY |
Jan 23 2005, 11:04 PM
Post
#77
|
Diviner Joined: 3-December 03 From: Vivec, Jobasha's Rare Books |
Oooooh! That's great! After LGNPC Pelagiad I'll start trying what I had in mind.
-------------------- The LGNPC Project
TES4.com My mods: Vivid MW Repaint Morrowind Photographer The Roads to Heaven Complete Morrowind Windows Glow Reflective Gold Death Readable Books ... |
Raveren |
Jan 23 2005, 11:09 PM
Post
#78
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(Max_aka_NOBODY @ Jan 24 2005, 05:14 AM) Whoa!! (I'm so easily excited in late evenings ;) ) Sylent_pyro will be glad to continue on better telekinesis too! -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 23 2005, 11:36 PM
Post
#79
|
Adept Joined: 3-May 04 |
QUOTE(Raveren @ Jan 23 2005, 10:19 PM) Possible: 1) Able to be done or achieved, or able to exist; 2) MWScriptExtender(with fixed xGetPCTarget). Would you please stick some sort of version number on that release? There are already too many un-labeled versions floating around as it is. This is at least the 3rd patch to version of what could be called the 0.9 release of the extender. I recommend adding 0.9p3 for your version and it would be nice if you stuck a note in the top of that archive telling what you changed from the previous version. Having multiple versions with the same package name and unclear versioning documentation is going to make it very confusing for people to actually use MWSE mods. It will also make it a nightmare to help them when things go wrong. QUOTE Whoa!! (I'm so easily excited in late evenings) Lithuania? I'd say you're well past late evening. This post has been edited by cdcooley: Jan 23 2005, 11:43 PM |
Raveren |
Jan 23 2005, 11:44 PM
Post
#80
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(cdcooley @ Jan 24 2005, 05:46 AM) Would you please stick some sort of version number on that release? There are already too many un-labeled versions floating around as it is. This is at least the 3rd patch to version of what could be called the 0.9 release of the extender. I recommend adding 0.9p3 or for your version and it would be nice if you stuck a note in the top of that archive telling what you changed from the previous version. Having multiple versions with the same package name and unclear versioning documentation is going to make it very confusing for people to actually use MWSE mods. It will also make it a nightmare to help them when things go wrong. Done, as you see. Damn sig length limit, had to disable some colors >;) btw I included the get reference codes in the mwedit se documentation (with credits to you) -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
cdcooley |
Jan 23 2005, 11:50 PM
Post
#81
|
Adept Joined: 3-May 04 |
QUOTE(Raveren @ Jan 23 2005, 10:54 PM) Done, as you see. Damn sig length limit, had to disable some colors >;) btw I included the get reference codes in the mwedit se documentation (with credits to you) That was fast. Thank you. I'm sure we'll all appreciate your sacrifice of color in the weeks ahead. Now, shouldn't you be in bed? It has been dark in Lithuania for many hours now. In a smaller number, it will be light again. |
Raveren |
Jan 23 2005, 11:51 PM
Post
#82
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(Raveren @ Jan 24 2005, 05:54 AM) Done, as you see. Damn sig length limit, had to disable some colors >;) btw I included the get reference codes in the mwedit se documentation (with credits to you) edit: QUOTE Lithuania? I'd say you're well past late evening. Yeah, it's already early here, couldn't draw myself away, and now I have two more hours and I have to go to go out.. What's the point in sleeping :) actual edit: :D :D yeah, I should have gone to bed, pushed reply instead of edit :D lol edit again: my guess is cdcooley is russian :) heh, I wouldn't lift an eyebrow, fpu-to-sse, fps optimiser are made by em(russians), wonder where is FreshFish from :) one last edit: should you be lithuanian, I'm flattered (wrong word, whateva:) )! (almost clicked reply again %) ) This post has been edited by Raveren: Jan 24 2005, 12:06 AM -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
BungaDunga |
Jan 24 2005, 12:39 AM
Post
#83
|
Diviner Joined: 30-August 04 |
I believe cdcooley is american - his local time on his profile corresponds exactly to EST. As for FreshFish, his timezone seems to be in Hong Kong.
Edit: He could be canadian, too. This post has been edited by BungaDunga: Jan 24 2005, 12:46 AM -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
BungaDunga |
Jan 24 2005, 02:15 AM
Post
#84
|
Diviner Joined: 30-August 04 |
Ergh. I can't get xAddItem to work. Cdcooley, you mentioned that you had a fixed compiler that would compile it correctly- is there a simple hex fix to get it to work right?
-------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
The_Silent_Pyro |
Jan 24 2005, 05:21 PM
Post
#85
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
Wow, I wished I hadn't missed this. Now, to get to work on improved telekinesis. Does anyone know how to detect owner or weight?
-------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
cdcooley |
Jan 24 2005, 07:13 PM
Post
#86
|
Adept Joined: 3-May 04 |
QUOTE(BungaDunga @ Jan 24 2005, 01:25 AM) Ergh. I can't get xAddItem to work. Cdcooley, you mentioned that you had a fixed compiler that would compile it correctly- is there a simple hex fix to get it to work right? The version on Shanjaq's site has the fix and works for me. QUOTE(The_Silent_Pyro @ Jan 24 2005, 04:31 PM) Wow, I wished I hadn't missed this. Now, to get to work on improved telekinesis. Does anyone know how to detect owner or weight? Unfortunately no. You might check with the MWE folks. It might support those. |
Raveren |
Jan 24 2005, 09:34 PM
Post
#87
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(cdcooley @ Jan 25 2005, 01:23 AM) The version on Shanjaq's site has the fix and works for me. Unfortunately no. You might check with the MWE folks. It might support those. the mwe forums state that the next version of mwe will support getting encumberance. Btw there was a wip (now cancelled) of marksman enhanced, which (among other things) make arrows stuck into walls etc, so, suppose it CAN detect clipping... -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
The_Silent_Pyro |
Jan 25 2005, 04:52 PM
Post
#88
|
Disciple Joined: 15-August 04 From: thesilentpyro.proboards43.com |
QUOTE(Raveren @ Jan 24 2005, 09:44 PM) the mwe forums state that the next version of mwe will support getting encumberance. Btw there was a wip (now cancelled) of marksman enhanced, which (among other things) make arrows stuck into walls etc, so, suppose it CAN detect clipping... Yeah, but I'd rather NOT use TWO external programs for one mod. -------------------- Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
Pong--My version of Pong, using Visual Basic. Also, Pyro Wars is in the making. Post your suggestions on my site. |
BungaDunga |
Jan 25 2005, 08:57 PM
Post
#89
|
Diviner Joined: 30-August 04 |
Yay- I have successfully made a script which will zip through all the items in a cell, and drop all the ones that the player can normally pick up into a newly created box at the player's feet. Very handy for those who move houses often! I'm going to attach it to a container using cdcooley's scripts for my Portable Container mod. The box will have completely unrealistic weight after the script dumps all the items in it, but I will set its capacity very low so the player won't be able to add in any items by the normal way.
I am going to attempt to get it to loot all the containers too- it should be perfectly possible if xWhile allows nesting :shrug: -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
DragoonWraith |
Jan 25 2005, 10:31 PM
Post
#90
|
Diviner Joined: 13-June 03 |
That would be convenient for moving around houses - I've been meaning to move out of Ra'Virr's and into the Battlespire for quite some time now, but haven't gotten around to it yet...
-------------------- "change the world..."
QUOTE(Braddock @ Oct 15 2004, 11:51 PM) a ninja dressed like a clown is still just as stealthy, provided he's at a circus "Blinding light, bind my foes in unbreakable chains... Disperse the shadows! Ray of Paralysis!"~Saradin Carm Bonus Points: Ronin +5 NuclearDope +10 MOO_COW +20 RavynAngel +20 Case +50 |
Cenobite |
Jan 26 2005, 04:23 PM
Post
#91
|
Diviner Joined: 5-March 04 From: http://www.mwmythicmods.com |
Correct me if I'm wrong, but is this thread also serving as a shopping list of scripting functions that we would like to see?
If yes, then: xGetPCGender = returns 1 or 0 for gender of the PC (currently this can only be done in dialogue) -------------------- There are conditions of the nerve endings, the likes of which your imagination, no matter how fevered, could not possibly hope to evoke.
|
Beryllium |
Jan 26 2005, 04:42 PM
Post
#92
|
Curate Joined: 9-April 03 |
QUOTE(Cenobite @ Jan 27 2005, 08:33 AM) Correct me if I'm wrong, but is this thread also serving as a shopping list of scripting functions that we would like to see? If yes, then: xGetPCGender = returns 1 or 0 for gender of the PC (currently this can only be done in dialogue) And xSetPCGender too. Basically, get and set functions for everything. Making them is a matter of analyising the MW executable to find out where and how the data is stored and writing the functions to access them. It should be easy, and would be expected to be in the version 1 release. |
Raveren |
Jan 26 2005, 05:49 PM
Post
#93
|
Curate Joined: 21-December 04 From: Far out |
QUOTE(Beryllium @ Jan 26 2005, 10:52 PM) And xSetPCGender too. Basically, get and set functions for everything. Making them is a matter of analyising the MW executable to find out where and how the data is stored and writing the functions to access them. It should be easy, and would be expected to be in the version 1 release. WTF???? -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
Beryllium |
Jan 27 2005, 03:32 AM
Post
#94
|
Curate Joined: 9-April 03 |
QUOTE(Raveren @ Jan 27 2005, 09:59 AM) You doubt my word? You can find your gender, in-game, by using WinHex, Soft-ICE or some other memory browsing tool to look at a single bit. And change that bit to change your gender. Where is that bit? Well, we know where it is stored within the structure of a saved game, and we can single-step the MW executable as it loads up and unpacks a saved game, so this information is one of the simplest to discover. All of the other attributes and flags are stored in memory as bitfields, integers of various sizes and strings. Finding them involves single-stepping, running under debugger with breakpoints and tracing through disassemblies, but it isn't rocket science. |
Shanjaq |
Jan 27 2005, 07:44 AM
Post
#95
|
Disciple Joined: 31-July 02 From: Kudanat |
thankfully the sources to both MWSE and MWEditSE are open ;)
-------------------- Morrowind Online, Demo and Modders Resource
Overunity, The Plugin Manager that Makes Sense! Life is but a sea of conflicting feedback loops... |
Raveren |
Jan 27 2005, 01:28 PM
Post
#96
|
Curate Joined: 21-December 04 From: Far out |
ok I misunderstood you a bit, Beryllium. Yes I know the principal of how this program works and know the theoretical limits of it possibilities...
xSetGender would cause tons of problems btw -------------------- Possible:
1) Able to be done or achieved, or able to exist 2) MWScriptExtender0.9p3(with fixed xGetPCTarget *UPDATED*) MWSE demo plugin by cdcooley |
Cenobite |
Jan 27 2005, 01:40 PM
Post
#97
|
Diviner Joined: 5-March 04 From: http://www.mwmythicmods.com |
QUOTE(Raveren @ Jan 27 2005, 01:38 PM) xSetGender would cause tons of problems btw LOL...I care nothing for that, "enableracemenu" is already capable of doing that. ... Unless you are speaking of writing a spell that would change the gender of NPCs????? Oh the possibilities! :rofl: -------------------- There are conditions of the nerve endings, the likes of which your imagination, no matter how fevered, could not possibly hope to evoke.
|
Beryllium |
Jan 27 2005, 05:51 PM
Post
#98
|
Curate Joined: 9-April 03 |
QUOTE(Cenobite @ Jan 28 2005, 05:50 AM) LOL...I care nothing for that, "enableracemenu" is already capable of doing that. ... Unless you are speaking of writing a spell that would change the gender of NPCs????? Oh the possibilities! :rofl: oh yes indeed... those guards should be taking all sorts of penalties because of suddenly having to squeeze their ample bodies into male armor. But I get the point. Just because we can change the data it doesn't mean that the MW engine will co-operate with us and recognise the change without problems. Anybody using extended functions should be aware that there may be side effects. That's partly what makes it so exciting. We're doing something new, and anything could happen. |
cdcooley |
Jan 29 2005, 11:03 PM
Post
#99
|
Adept Joined: 3-May 04 |
I've been poking around in the code for the script extender and MWEditSE. I discovered that they the both support some math functions that aren't mentioned in the MWEditSE.txt file.
xSqrt, xHypot The xHypot function takes to arguments and computes c = sqrt(a^2+b^2). xDegRad, xRadDeg The Degree vs. Radian conversion functions are important because not only do some of the Morrowind functions use one and some use the other, but all of the MWSE trigonometry functions calculate in Radians. xCos, xSin, xTan xArcCos, xArcSin, xArcTan So if you want the tangent of 30 degrees you'll need to write setx r to xDegRad 30.0 setx t to xTan r I've only tried some of them, but they should all work. |
BungaDunga |
Jan 30 2005, 12:35 AM
Post
#100
|
Diviner Joined: 30-August 04 |
Oh, I figured those out a while ago, but promptly forgot about them. Thanks for finding them and posting them ^_^
Also, I am having a lot of problems with xPositionCell. It seems that most of the time, when I use it in a script, the script does not seem to run properly. Basically, if I attach the script to an object, I can use showvars and see all the variables, but the script does not do anything at all- OnActivate doesn't fire, etc. Sometimes if I load and save the mod in the CS it fixes it, but not always, and that fix seems to have stopped working. Has anyone had this problem themselves? -------------------- [REL] Better Portable Containers
QUOTE(qarl @ Dec 20 2004, 07:47 PM) -The PC is to the Xbox as a man is to a eunuch. Give a man a fire and he will be warm for the day, but light a man on fire and he will be warm for the rest of his life. |
Lo-Fi Version | 0.5473sec
--
9 queries
GZIP Enabled
Time is now: 13th February 2005 - 04:41 PM |
|